home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr37
/
msg_main.zip
/
DEFAULT.SRC
next >
Wrap
Text File
|
1995-03-07
|
15KB
|
1,015 lines
# DEFAULT.SRC
# Copyright 1994 Digital Dynamics
###############################################################################
# #
# Default Command Shell for Synchronet Version 2.00a #
# #
# This shell is an imitation of the Version 1c command set/structure #
# #
# It also serves as an example of a complex command shell using the Baja #
# command shell language #
# #
###############################################################################
# Tips:
#
# Tabstops should be set to 8 to view/edit this file
# If your editor does not support control characters,
# use \1 instead of \1 for Ctrl-A codes
# All lines starting with # are considered comments and are ignored
# Left margins (indents) are not relevant and used only for clearity
# Almost everything is not case sensitive with the exception of @-codes
################################# Begins Here #################################
# Set return point for main menu commands (via end_cmd)
:main
cmd_home
# Display TEXT\MENU\MAIN.* if not in expert mode
compare_user_misc expert
if_false
cls
menu MAIN
end_if
# Update node status
node_action main
async
inc_main_cmds
# Display main Prompt
print "-c\r\n■ bhMain nc■ h"
compare_ars exempt T
if_true
print @TUSED@
else
print @TLEFT@
end_if
print " nc: n"
# Get key (with / extended commands allowed)
compare_user_misc COLDKEYS
if_false
getkeye
else
getstrupr 60
endif
compare_ars RIP
if_true
getlines
end_if
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
# Show the key hit
compare_user_misc COLDKEYS
if_false
printkey
endif
# String commands start with a semicolon
cmdkey ;
compare_user_misc COLDKEYS
if_true
shift_str 1
else
getstrupr 40
end_if
exec_bin str_cmds
end_cmd
cmdkey T
chkfile ..\text\menu\tmessage.*
if_true
menu tmessage
end_if
call file_transfers
end_cmd
compare_user_misc COLDKEYS
if_false
crlf
end_if
pause_reset
# Menu
cmdkey ?
compare_user_misc expert
if_true
menu main
end_if
end_cmd
# Sysop Menu
compare_ars SYSOP or EXEMPT Q or I or N
if_true
cmdkey !
menu sysmain
end_cmd
end_if
# Commands
cmdkey A
auto_message
end_cmd
cmdkey C
chat_section
end_cmd
cmdkey D
user_defaults
end_cmd
cmdkey G
text_file_section
end_cmd
cmdkey I
call main_info
end_cmd
cmdkey E
call E-MAIL
end_cmd
cmdkey M
GOTO MESSAGE
end_cmd
cmdkey /L
nodelist_all
end_cmd
cmdkey $
minute_bank
end_cmd
cmdkey O
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /O
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
cmdkey Q
msg_qwk
end_cmd
cmdkey U
print "\r\nchList Users\r\n"
mnemonics "\r\n~Logons Today, ~Sub-board, or ~All: "
getcmd LSA\r
cmdkey L
userlist_logons
end_cmd
cmdkey S
userlist_sub
end_cmd
cmdkey A
userlist_all
end_cmd
# fall-through for CR, Ctrl-C, etc
end_cmd
cmdkey /U
userlist_all
end_cmd
cmdkey X
xtrn_section
end_cmd
# fall through
print "\r\nchUnrecognized command."
compare_user_misc expert
if_true
print " Hit 'i?nch' for a menu."
end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell."
pause
hangup
############################### E-mail Section ################################
:e-mail
cmd_home
compare_user_misc expert
if_false
menu E-MAIL
end_if
async
print "\r\nyhE-mail: n"
getcmd ?SRFNUKQ\r
logkey
cmdkey ?
compare_user_misc expert
if_true
menu E-MAIL
end_if
end_cmd
cmdkey S
print "_\r\nbhE-mail (User name or number): w"
getname 25
compare_str ""
if_true
end_cmd
end_if
compare_str "SYSOP"
if_true
setstr "1"
end_if
mail_send
end_cmd
cmdkey U
print "_\r\nbhE-mail (User name or number): w"
getname 25
compare_str ""
if_true
end_cmd
end_if
compare_str "SYSOP"
if_true
setstr "1"
end_if
mail_send_file
end_cmd
cmdkey R
mail_read
end_cmd
cmdkey F
setstr "1"
mail_send_feedback
end_cmd
cmdkey N
no_yes "\r\nAttach a file"
if_true
mail_send_netmail
else
mail_send_netfile
end_if
end_cmd
cmdkey K
mail_read_sent
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
############################ Main Info Section ###############################
:main_info
cmd_home
compare_user_misc expert
if_false
menu MAININFO
end_if
async
print "\r\nyhInfo: n"
getcmd ?QISVY\r
logkey
cmdkey ?
compare_user_misc expert
if_true
menu MAININFO
end_if
end_cmd
cmdkey I
info_system
end_cmd
cmdkey S
info_subboard
end_cmd
cmdkey Y
info_user
end_cmd
cmdkey V
info_version
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
########################### Main Config Section ##############################
:main_cfg
compare_user_misc expert
if_false
menu MAINCFG
end_if
async
print "\r\nyhConfig: n"
getcmd ?QNPIS\r
logkey
cmdkey ?
compare_user_misc expert
if_true
menu MAINCFG
end_if
goto main_cfg
end_cmd
cmdkey N
msg_new_scan_cfg
return
end_cmd
cmdkey S
msg_your_scan_cfg
return
end_cmd
cmdkey P
msg_ptrs_cfg
return
end_cmd
cmdkey I
msg_ptrs_reinit
return
end_cmd
return
########################### File Transfer Section #############################
:file_transfers
compare_ars file_cmds=0
if_true
compare_user_misc ask_nscan
if_true
yes_no "\r\n\r\nSearch all libraries for new files"
if_true
file_new_scan_all
end_if
end_if
end_if
cmd_home
compare_user_misc expert
if_false
cls
menu TRANSFER
end_if
# Update node status
node_action xfer
async
inc_file_cmds
# Display main Prompt
print "-c\r\n■ bhFile nc■ h"
compare_ars exempt T
if_true
print @TUSED@
else
print @TLEFT@
end_if
print " nc(h@LN@nc) @LIB@ (h@DN@nc) @DIR@: n"
# Get key (with / extended commands allowed)
compare_user_misc COLDKEYS
if_false
getkeye
else
getstrupr 60
endif
compare_ars RIP
if_true
getlines
end_if
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
compare_user_misc COLDKEYS
if_false
ungetkey
end_if
file_get_dir_num
end_cmd
# Hitting /number changes current group
cmdkey edigit
compare_user_misc COLDKEYS
if_false
ungetkey
else
shift_str 1
end_if
file_get_lib_num
end_cmd
# Show the key hit
compare_user_misc COLDKEYS
if_false
printkey
endif
# Next directory
cmdkey >
file_directory_up
end_cmd
cmdkey }
file_directory_up
end_cmd
cmdkey +
file_directory_up
end_cmd
cmdkey =
file_directory_up
end_cmd
# Previous directory
cmdkey <
file_directory_down
end_cmd
cmdkey {
file_directory_down
end_cmd
cmdkey -
file_directory_down
end_cmd
# Next library
cmdkey ]
file_library_up
end_cmd
# Previous library
cmdkey [
file_library_down
end_cmd
# String commands start with a semicolon
cmdkey ;
compare_user_misc COLDKEYS
if_true
shift_str 1
else
getstrupr 40
end_if
exec_bin str_cmds
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
compare_user_misc COLDKEYS
if_false
crlf
end_if
pause_reset
# Menu
cmdkey ?
compare_user_misc expert
if_true
menu TRANSFER
end_if
end_cmd
# Sysop Menu
compare_ars SYSOP
if_true
cmdkey !
menu sysxfer
end_cmd
end_if
# Commands
cmdkey B
file_batch_section
end_cmd
cmdkey C
chat_section
end_cmd
cmdkey D
print "\r\nchDownload File(s)\r\n"
file_download_batch
if_true
end_cmd
end_if
getfilespec
if_true
file_download
end_if
end_cmd
cmdkey /D
print "\r\nchDownload File(s) from User(s)\r\n"
file_download_user
end_cmd
cmdkey E
print "\r\nchList Extended File Information\r\n"
getfilespec
if_true
file_list_extended
end_if
end_cmd
cmdkey F
print "\r\nchFind Text in File Descriptions (no wildcards)\r\n"
file_find_text
end_cmd
cmdkey /F
file_find_text_all
end_cmd
cmdkey I
call file_info
end_cmd
cmdkey J
file_select_area
end_cmd
cmdkey L
setstr *.*
file_list
end_cmd
cmdkey /L
nodelist_all
end_cmd
cmdkey N
print "\r\nchNew File Scan\r\n"
file_new_scan
end_cmd
cmdkey /N
file_new_scan_all
end_cmd
cmdkey O
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /O
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
cmdkey R
print "\r\nchRemove/Edit File(s)\r\n"
getfilespec
if_true
file_remove
end_if
end_cmd
cmdkey S
print "\r\nchSearch for Filename(s)\r\n"
file_find_name
end_cmd
cmdkey /S
file_find_name_all
end_cmd
cmdkey T
file_temp_section
end_cmd
cmdkey U
print "\r\nchUpload File\r\n"
chkfile ..\text\menu\upload.*
if_true
menu upload
end_if
file_upload
end_cmd
cmdkey /U
print "\r\nchUpload File to User\r\n"
file_upload_user
end_cmd
cmdkey V
print "\r\nchView File(s)\r\n"
getfilespec
if_true
file_view
end_if
end_cmd
cmdkey Z
print "\r\nchUpload File to Sysop\r\n"
file_upload_sysop
end_cmd
cmdkey *
file_show_directories
end_cmd
cmdkey /*
file_show_libraries
end_cmd
cmdkey &
:xfercfg
compare_user_misc expert
if_false
menu XFERCFG
end_if
async
print "\r\nyhConfig: n"
getcmd ?QBEP\r
logkey
cmdkey ?
compare_user_misc expert
if_true
menu XFERCFG
end_if
goto xfercfg
end_cmd
cmdkey P
file_ptrs_cfg
end_cmd
cmdkey B
toggle_user_misc BATCHFLAG
end_cmd
cmdkey E
toggle_user_misc EXTDESC
end_cmd
end_cmd
cmdkey #
print "\r\nchType the actual number, not the symbol.\r\n"
end_cmd
cmdkey /#
print "\r\nchType the actual number, not the symbol.\r\n"
end_cmd
# fall through
print "\r\nchUnrecognized command."
compare_user_misc expert
if_true
print " Hit 'i?nch' for a menu."
end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell."
pause
hangup
############################ File Info Section ###############################
:file_info
cmd_home
compare_user_misc expert
if_false
menu XFERINFO
end_if
async
print "\r\nyhInfo: n"
getcmd ?TYDUQ\r
logkey
cmdkey ?
compare_user_misc expert
if_true
menu XFERINFO
end_if
end_cmd
cmdkey T
info_xfer_policy
end_cmd
cmdkey Y
info_user
end_cmd
cmdkey D
info_directory
end_cmd
cmdkey U
userlist_dir
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
###################################MESSAGE###################################
:MESSAGE
CMD_HOME
compare_user_misc expert
if_false
cls
menu MSG1
end_if
# Display MESSAGE Prompt
print "-c\r\n■ bhMESSAGE nc■ h"
compare_ars exempt T
if_true
print @TUSED@
else
print @TLEFT@
end_if
print " nc[h@GN@nc] @GRP@ [h@SN@nc] @SUB@: n"
GETCMD ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*(()[]{}":;'<>,.?|=+-_`\r
compare_ars RIP
if_true
getlines
end_if
cmdkey Q
GOTO MAIN
end_cmd
# Hitting number changes current sub-board
cmdkey digit
compare_user_misc COLDKEYS
if_false
ungetkey
end_if
msg_get_sub_num
end_cmd
# Hitting /number changes current group
cmdkey edigit
compare_user_misc COLDKEYS
if_false
ungetkey
else
shift_str 1
end_if
msg_get_grp_num
end_cmd
# Show the key hit
compare_user_misc COLDKEYS
if_false
printkey
endif
# Next sub-board
cmdkey >
msg_subboard_up
end_cmd
cmdkey }
msg_subboard_up
end_cmd
cmdkey +
msg_subboard_up
end_cmd
cmdkey =
msg_subboard_up
end_cmd
# Previous sub-board
cmdkey <
msg_subboard_down
end_cmd
cmdkey {
msg_subboard_down
end_cmd
cmdkey -
msg_subboard_down
end_cmd
# Next group
cmdkey ]
msg_group_up
end_cmd
# Previous group
cmdkey [
msg_group_down
end_cmd
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
cmdkey ?
compare_user_misc expert
if_true
menu MSG1
end_if
end_cmd
cmdkey B
print "\r\nchBrowse/New Message Scan\r\n"
msg_browse_scan
end_cmd
cmdkey F
print "\r\nchFind Text in Messages\r\n"
msg_find_text
end_cmd
cmdkey /F
msg_find_text_all
end_cmd
cmdkey J
msg_select_area
end_cmd
cmdkey N
print "\r\nchNew Message Scan\r\n"
msg_new_scan
end_cmd
cmdkey /N
msg_new_scan_all
end_cmd
cmdkey O
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /O
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
cmdkey P
msg_post
end_cmd
cmdkey R
msg_read
end_cmd
cmdkey S
print "\r\nchScan for Messages Posted to You\r\n"
msg_your_scan
end_cmd
cmdkey /S
msg_your_scan_all
end_cmd
cmdkey Z
print "\r\nchContinuous New Message Scan\r\n"
msg_cont_scan
end_cmd
cmdkey /Z
msg_cont_scan_all
end_cmd
cmdkey *
msg_show_subboards
end_cmd
cmdkey /*
msg_show_groups
end_cmd
cmdkey &
call main_cfg
end_cmd
cmdkey #
print "\r\nchType the actual number, not the symbol.\r\n"
end_cmd
cmdkey /#
print "\r\nchType the actual number, not the symbol.\r\n"
end_cMD
# fall through
print "\r\nchUnrecognized command."
compare_user_misc expert
if_true
print " Hit 'i?nch' for a menu."
end_if
crlf
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
# shouldn't hit next line
print "Problem in command shell."
pause
hangup
#end of DEFAULT.SRC